/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package sv.com.dizucar.modelo;

import java.io.Serializable;
import java.util.List;
import javax.persistence.Basic;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.Id;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.OneToMany;
import javax.persistence.Table;

/**
 *
 * @author 43579648
 */
@Entity
@Table(name = "EMPLEADO", catalog = "", schema = "DIZUCAR")
@NamedQueries({
    @NamedQuery(name = "Empleado.findAll", query = "SELECT e FROM Empleado e"),
    @NamedQuery(name = "Empleado.findByIdempleado", query = "SELECT e FROM Empleado e WHERE e.idempleado = :idempleado"),
    @NamedQuery(name = "Empleado.findByNombre", query = "SELECT e FROM Empleado e WHERE e.nombre = :nombre"),
    @NamedQuery(name = "Empleado.findByApellido", query = "SELECT e FROM Empleado e WHERE e.apellido = :apellido"),
    @NamedQuery(name = "Empleado.findByDui", query = "SELECT e FROM Empleado e WHERE e.dui = :dui"),
    @NamedQuery(name = "Empleado.findByNit", query = "SELECT e FROM Empleado e WHERE e.nit = :nit"),
    @NamedQuery(name = "Empleado.findByTelefonooficina", query = "SELECT e FROM Empleado e WHERE e.telefonooficina = :telefonooficina"),
    @NamedQuery(name = "Empleado.findByTelefonocelular", query = "SELECT e FROM Empleado e WHERE e.telefonocelular = :telefonocelular"),
    @NamedQuery(name = "Empleado.findByCorreo", query = "SELECT e FROM Empleado e WHERE e.correo = :correo"),
    @NamedQuery(name = "Empleado.findByRedessociales", query = "SELECT e FROM Empleado e WHERE e.redessociales = :redessociales"),
    @NamedQuery(name = "Empleado.findByTelefonocasa", query = "SELECT e FROM Empleado e WHERE e.telefonocasa = :telefonocasa")})
public class Empleado implements Serializable {
    private static final long serialVersionUID = 1L;
    @Id
    @Basic(optional = false)
    @Column(name = "IDEMPLEADO", nullable = false)
    private Integer idempleado;
    @Basic(optional = false)
    @Column(name = "NOMBRE", nullable = false, length = 80)
    private String nombre;
    @Basic(optional = false)
    @Column(name = "APELLIDO", nullable = false, length = 80)
    private String apellido;
    @Basic(optional = false)
    @Column(name = "DUI", nullable = false, length = 9)
    private String dui;
    @Basic(optional = false)
    @Column(name = "NIT", nullable = false, length = 14)
    private String nit;
    @Basic(optional = false)
    @Column(name = "TELEFONOOFICINA", nullable = false)
    private long telefonooficina;
    @Basic(optional = false)
    @Column(name = "TELEFONOCELULAR", nullable = false)
    private long telefonocelular;
    @Basic(optional = false)
    @Column(name = "CORREO", nullable = false, length = 30)
    private String correo;
    @Basic(optional = false)
    @Column(name = "REDESSOCIALES", nullable = false, length = 30)
    private String redessociales;
    @Basic(optional = false)
    @Column(name = "TELEFONOCASA", nullable = false)
    private long telefonocasa;
    @OneToMany(cascade = CascadeType.ALL, mappedBy = "empleado", fetch = FetchType.LAZY)
    private List<Queja> quejaList;
    @OneToMany(cascade = CascadeType.ALL, mappedBy = "empleado", fetch = FetchType.LAZY)
    private List<Usuario> usuarioList;

    public Empleado() {
    }

    public Empleado(Integer idempleado) {
        this.idempleado = idempleado;
    }

    public Empleado(Integer idempleado, String nombre, String apellido, String dui, String nit, long telefonooficina, long telefonocelular, String correo, String redessociales, long telefonocasa) {
        this.idempleado = idempleado;
        this.nombre = nombre;
        this.apellido = apellido;
        this.dui = dui;
        this.nit = nit;
        this.telefonooficina = telefonooficina;
        this.telefonocelular = telefonocelular;
        this.correo = correo;
        this.redessociales = redessociales;
        this.telefonocasa = telefonocasa;
    }

    public Integer getIdempleado() {
        return idempleado;
    }

    public void setIdempleado(Integer idempleado) {
        this.idempleado = idempleado;
    }

    public String getNombre() {
        return nombre;
    }

    public void setNombre(String nombre) {
        this.nombre = nombre;
    }

    public String getApellido() {
        return apellido;
    }

    public void setApellido(String apellido) {
        this.apellido = apellido;
    }

    public String getDui() {
        return dui;
    }

    public void setDui(String dui) {
        this.dui = dui;
    }

    public String getNit() {
        return nit;
    }

    public void setNit(String nit) {
        this.nit = nit;
    }

    public long getTelefonooficina() {
        return telefonooficina;
    }

    public void setTelefonooficina(long telefonooficina) {
        this.telefonooficina = telefonooficina;
    }

    public long getTelefonocelular() {
        return telefonocelular;
    }

    public void setTelefonocelular(long telefonocelular) {
        this.telefonocelular = telefonocelular;
    }

    public String getCorreo() {
        return correo;
    }

    public void setCorreo(String correo) {
        this.correo = correo;
    }

    public String getRedessociales() {
        return redessociales;
    }

    public void setRedessociales(String redessociales) {
        this.redessociales = redessociales;
    }

    public long getTelefonocasa() {
        return telefonocasa;
    }

    public void setTelefonocasa(long telefonocasa) {
        this.telefonocasa = telefonocasa;
    }

    public List<Queja> getQuejaList() {
        return quejaList;
    }

    public void setQuejaList(List<Queja> quejaList) {
        this.quejaList = quejaList;
    }

    public List<Usuario> getUsuarioList() {
        return usuarioList;
    }

    public void setUsuarioList(List<Usuario> usuarioList) {
        this.usuarioList = usuarioList;
    }

    @Override
    public int hashCode() {
        int hash = 0;
        hash += (idempleado != null ? idempleado.hashCode() : 0);
        return hash;
    }

    @Override
    public boolean equals(Object object) {
        // TODO: Warning - this method won't work in the case the id fields are not set
        if (!(object instanceof Empleado)) {
            return false;
        }
        Empleado other = (Empleado) object;
        if ((this.idempleado == null && other.idempleado != null) || (this.idempleado != null && !this.idempleado.equals(other.idempleado))) {
            return false;
        }
        return true;
    }

    @Override
    public String toString() {
        return "sv.com.dizucar.modelo.Empleado[idempleado=" + idempleado + "]";
    }

}
